package com.example.service;

import com.example.entity.Prise;
import com.example.mapper.PriseMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * 点赞表业务处理
 **/
@Service
public class PriseService {

    @Resource
    private PriseMapper priseMapper;

    /**
     * 新增
     */

    // 点赞 或者 取消点赞
    public void add(Prise prise){
        Prise dbPrise = priseMapper.selectByFidAndUserId(prise.getFid(), prise.getUserId());
        if(dbPrise != null){ // 说明用户给当前这个帖子点过赞了
            priseMapper.deleteByFidAndUserId(prise.getFid(), prise.getUserId()); // 取消点赞
        }else{
            priseMapper.insert(prise);
        }
    }
    /**
     * 删除
     */
    public void deleteById(Integer id) {
        priseMapper.deleteById(id);
    }

    /**
     * 批量删除
     */
    public void deleteBatch(List<Integer> ids) {
        for (Integer id : ids) {
            priseMapper.deleteById(id);
        }
    }

    /**
     * 修改
     */
    public void updateById(Prise prise) {
        priseMapper.updateById(prise);
    }

    /**
     * 根据ID查询
     */
    public Prise selectById(Integer id) {
        return priseMapper.selectById(id);
    }

    /**
     * 查询所有
     */
    public List<Prise> selectAll(Prise prise) {
        return priseMapper.selectAll(prise);
    }

    /**
     * 分页查询
     */
    public PageInfo<Prise> selectPage(Prise prise, Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<Prise> list = priseMapper.selectAll(prise);
        return PageInfo.of(list);
    }

}
